This invention relates to searching and browsing a computer network system. Computer users increasingly use web browsers to navigate document collections, for example, on the World Wide Web on the Internet, or on various types of intranets in order to find information, or simply as a serendipitous way of spending time.
Generally speaking, each document that is accessible on the World Wide Web or on an intranet has an address, or Uniform Resource Locator (URL), in the form “http://www.server.net/directory/file.html”. In this notation, the “http:” specifies the protocol by which the document is to be delivered, in this case the “HyperText Transport Protocol.” The “www.server.net” specifies the name of a computer, server, or group of computers on which the document resides; “directory” refers to a directory or folder on the server in which the document resides; and “file.html” specifies the name of a file with contents that the user can ultimately view in her web browser.
Web browsing is typically a solitary activity, in many ways similar to reading a book or a newspaper. Often, there is a desire among users to discuss what they view or read on web pages with other users. There are currently several ways in which this can be accomplished. For example, many web pages provide so-called message boards. A message board is typically a designated portion of a web page, where users can post comments or discuss topics that are relevant to the contents of the web page. Message boards typically have different physical locations on different web pages and can thus sometimes be difficult for users to find. Some message boards allow the users to post comments anonymously, whereas other message boards require the users to register and obtain unique user IDs and passwords before allowing the user to post comments to the message board. Furthermore, message boards are not synchronous, that is, users typically cannot have a direct, real time dialog with each other by posting messages on message boards.
In order to achieve synchronous communication between users, special applications known as instant messaging (IM) applications can be used. IM enables real-time communication between two or more people, typically based on typed text. The text is conveyed between the user's computers through a network, such as the Internet. IM requires the use of a client program that uses an IM service. In most IM applications, a user creates a contact list, and can only communicate with the people who have been added to the contact list. Most IM services also offer a presence feature that indicates what people on the user's contact list are currently online and available to chat (that is, send and receive messages). Most instant messaging applications also include the ability to set a status message, roughly analogous to the message on a telephone answering machine.